package com.wkbb.basic.service;

import com.wkbb.basic.model.UserFacePersonConfig;
import com.wkbb.common.base.BaseService;
import com.wkbb.common.dto.basic.UserDto;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * @author Alger Yang
 */
public interface UserFacePersonConfigService extends BaseService<UserFacePersonConfig> {

    /**
     * 批量删除个体人脸配置
     *
     * @param ids      个体人脸配置表ID
     * @param deleteBy 操作人
     */
    @Transactional(rollbackFor = Exception.class)
    void delete(List<Long> ids, String deleteBy) throws Exception;

    /**
     * 获取用户人脸配置信息
     *
     * @param params 参数
     * @param type   0 学生人脸管理 1 教师人脸管理
     * @return 人脸配置信息
     */
    List<UserFacePersonConfig> getUserFacePersonConfigList(Map<String, Object> params, Short type);

    List<Object> saveImportData(UserDto userDto, List<Object[]> data) throws Exception;

    List<Object> saveCamImportData(UserDto userDto, List<Object[]> data) throws Exception;

    /**
     * 删除机构下所有个体和人脸
     *
     * @param  accountId
     * @return
     */
    void deletePerSonIdByOrgId(Long accountId)throws Exception;

    void saveConfig(UserFacePersonConfig userFacePersonConfig);
}
